Я создал 3 таблицы:
CREATE TABLE participe
(
IDadherent INTEGER,
IDsortie INTEGER,
CONSTRAINT pk2 PRIMARY KEY (IDadherent, IDsortie)
);
CREATE TABLE sortie
(
IDsortie INTEGER PRIMARY KEY,
jour DATE,
Latitude_sortie FLOAT,
Longitude_sortie FLOAT
);
CREATE TABLE adherent
(
IDadherent INTEGER PRIMARY KEY,
nom VARCHAR(30),
prenom VARCHAR(30)
);
TL; DR:
Таблица 1) Приверженец (это люди, которые потенциально могут отправиться в набор адресатов с adherentID в качестве первичного ключа)
Таблица 2) Сортировка ie (это таблица с потенциальными адресатами с идентификатором назначения в качестве первичного ключа)
Таблица 3) Participe (эта таблица связывает оба первичные ключи: AdherentID и destinationID
Если я выбираю содержимое таблицы "частиц", я получаю что-то вроде этого:
+----------+------------+
| IDsortie | IDadherent |
+----------+------------+
| 5 | 1 |
| 5 | 3 |
| 5 | 5 |
| 4 | 2 |
| 3 | 1 |
| 3 | 4 |
| 3 | 5 |
| 2 | 3 |
| 2 | 5 |
| 1 | 1 |
| 1 | 2 |
| 1 | 3 |
| 0 | 6 |
+----------+------------+
Я пытался заказать приведенная выше таблица и получите новую таблицу с наиболее популярными адресатами (IDsort ie), ожидая получить что-то вроде этого:
+----------+----------------+
| IDsortie | Numeroadherent |
+----------+----------------+
| 5 | 3 |
| 4 | 1 |
| 3 | 3 |
| 2 | 2 |
| 1 | 3 |
| 0 | 1 |
+----------+----------------+
Для достижения этой великолепной таблицы я использовал эти запросы ( и с треском провалился):
SELECT IDsortie, IDadherent
FROM participe
ORDER BY IDsortie DESC;
SELECT COUNT(IDsortie)
FROM participe
GROUP BY IDadherent
ORDER BY COUNT(IDadherent) ASC;
SELECT COUNT(IDsortie)
FROM
(SELECT COUNT(*) AS IDsortie
FROM participe
GROUP BY IDadherent) AS Results
Один из mysql модов очень любезно перенаправил меня на другие подобные вопросы, но я не отказываюсь Узнайте их ответы, может кто-нибудь пройти через это (извините за неудобства).