【发布时间】:2020-02-29 17:02:34
【问题描述】:
我创建了 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) Adherent(这是人们可能会前往一组以adherentID 作为主键的目的地)
表 2) 排序(这是具有以destinationID作为主键的潜在目的地的表)
表 3) Participe(此表链接两个主键:AdherentID 和 destinationID
如果我选择表格“participe”的内容,我会得到如下信息:
+----------+------------+
| 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 |
+----------+------------+
我已尝试订购上述表格并获得一张包含最受欢迎目的地 (IDsortie) 的新表格,希望得到如下内容:
+----------+----------------+
| 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 模块非常友好地将我重定向到其他类似的问题,但我不明白他们的答案,有人可以帮我解释一下吗(抱歉给您带来不便)。
【问题讨论】:
标签: mysql sql sql-order-by