如何呈现所有记录
How to render all records
我想使用 MYSQL5.5 显示所有记录,方法是将计数添加为新列并在计数中使用特定的 DESC 排序。
示例数据:
ID|ID_2|FIRST|SECOND|
88|300 |1 |4
81|300 |1 |5
7 |300 |2 |1
33|300 |3 |4
99|300 |1 |4
84|300 |1 |5
6 |300 |1 |4
34|300 |3 |5
查询:
SELECT a.ID,a.ID_2, a.FIRST, a.SECOND, COUNT(a.ID) as testing
FROM table AS a
WHERE a.ID_2=300
GROUP BY a.ID_2, a.FIRST, a.SECOND
ORDER BY testing DESC
通过上面的代码,我得到了正确的 COUNT(a.ID) 编号,包括 FIRST 和 SECOND 的所有组合以及 COUNT。
结果:
a.ID|a.ID_2|a.FIRST|a.SECOND|testing|
88 |300 |1 |4 |3
81 |300 |1 |5 |2
7 |300 |2 |1 |1
33 |300 |3 |4 |1
99 |300 |3 |5 |1
但我想得到以下信息:
a.ID|a.ID_2|a.FIRST|a.SECOND|testing|
88 |300 |1 |4 |3
99 |300 |1 |4 |3
6 |300 |1 |4 |3
81 |300 |1 |5 |2
85 |300 |1 |5 |2
7 |300 |2 |1 |1
33 |300 |3 |4 |1
99 |300 |3 |5 |1
你能帮忙吗?即使有温度 table。
感谢您的帮助
在 MySQL < 8.0 的情况下,您可以使用计算相关计数的聚合子查询自行加入 table :
SELECT t.*, t2.testing
FROM
mytable t
INNER JOIN (
SELECT a.ID_2, a.FIRST, a.SECOND, COUNT(a.ID) as testing
FROM mytable a
GROUP BY a.ID_2, a.FIRST, a.SECOND
) t2 ON t.ID_2 = t2.ID_2 AND t.FIRST = t2.FIRST AND t.SECOND = t2.SECOND
我想使用 MYSQL5.5 显示所有记录,方法是将计数添加为新列并在计数中使用特定的 DESC 排序。
示例数据:
ID|ID_2|FIRST|SECOND|
88|300 |1 |4
81|300 |1 |5
7 |300 |2 |1
33|300 |3 |4
99|300 |1 |4
84|300 |1 |5
6 |300 |1 |4
34|300 |3 |5
查询:
SELECT a.ID,a.ID_2, a.FIRST, a.SECOND, COUNT(a.ID) as testing
FROM table AS a
WHERE a.ID_2=300
GROUP BY a.ID_2, a.FIRST, a.SECOND
ORDER BY testing DESC
通过上面的代码,我得到了正确的 COUNT(a.ID) 编号,包括 FIRST 和 SECOND 的所有组合以及 COUNT。
结果:
a.ID|a.ID_2|a.FIRST|a.SECOND|testing|
88 |300 |1 |4 |3
81 |300 |1 |5 |2
7 |300 |2 |1 |1
33 |300 |3 |4 |1
99 |300 |3 |5 |1
但我想得到以下信息:
a.ID|a.ID_2|a.FIRST|a.SECOND|testing|
88 |300 |1 |4 |3
99 |300 |1 |4 |3
6 |300 |1 |4 |3
81 |300 |1 |5 |2
85 |300 |1 |5 |2
7 |300 |2 |1 |1
33 |300 |3 |4 |1
99 |300 |3 |5 |1
你能帮忙吗?即使有温度 table。
感谢您的帮助
在 MySQL < 8.0 的情况下,您可以使用计算相关计数的聚合子查询自行加入 table :
SELECT t.*, t2.testing
FROM
mytable t
INNER JOIN (
SELECT a.ID_2, a.FIRST, a.SECOND, COUNT(a.ID) as testing
FROM mytable a
GROUP BY a.ID_2, a.FIRST, a.SECOND
) t2 ON t.ID_2 = t2.ID_2 AND t.FIRST = t2.FIRST AND t.SECOND = t2.SECOND