请帮帮忙,我正在运行查询:
SELECT *
FROM `euclidean`
WHERE id_latihan = '46'
ORDER BY jarak ASC
LIMIT 3
输出:
我想知道如何计算输出中的标签,我希望输出如下所示:
+-------+---+
| LOBBY | 2 |
+-------+---+
| PMB | 1 |
+-------+---+
任何帮助都将不胜感激。提前感谢
发布于 2018-07-01 22:48:52
假设您想要从您的选择中得到结果计数,您可以使用
select label, count(*)
from (
SELECT *
FROM `euclidean`
WHERE id_latihan = '46'
ORDER BY jarak ASC
LIMIT 3) t
group by label
或直接从您的查询
SELECT label, count(*)
FROM `euclidean`
WHERE id_latihan = '46'
GROUP BY label
ORDER BY label
发布于 2018-07-02 00:11:13
SELECT label,count(*) FROM euclidean
WHERE id_latihan = '46‘GROUP BY label BY label LIMIT 3
发布于 2018-07-01 22:48:19
您的问题类似于Join 3 tables with Count。试试这个sql。这可能会解决您的问题。
SELECT
p.label,
Count( t.id_latihan ) AS id_latihan
FROM
euclidean p
LEFT JOIN euclidean t ON p.id_latihan = t.id_latihan
where
p.id_latihan = 46
GROUP BY
p.label
https://stackoverflow.com/questions/51124269
复制相似问题