基本上我试图加入2个表然后返回结果,下面是我使用的代码。 问题是,假设我想从'Tina'到'Ben'获取行。它是不可能的,因为它没有id,如果我以某种方式包含它们的id,它将是随机数而不是订单。无论如何都要处理这类问题吗?
SELECT names.name, COUNT(item) AS items
FROM names
LEFT JOIN names_items
ON names.name = names_items.name
GROUP BY names.name
ORDER BY COUNT(item) DESC
结果将是这样的。
| Names | Items |
Bob 60
Tina 32
Arthur 43
Ben 21
Ronie 54
答案 0 :(得分:2)
您可以在创建所有这些表时创建列,使列名称为id,id的属性为
-> id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
然后您可以使用此ID来选择您想要的内容
答案 1 :(得分:2)
您可以尝试添加“WHERE names.name in('Tina','Ben','Arthur')?
这是基于你想要Tina,Ben和Arthur的信息。
或LIMIT(2,x)(其中x是Tina和Ben之间的距离)
这只有在Tina总是第二次成绩的情况下才有效,而Ben与Tina的距离始终相同而且总是在Tina之后。
更复杂的方法是:
我不认为这个问题有一个“好”的解决方案,如果我们知道为什么你想要Ben和Tina之间的所有人,那么回答会更容易...... Ben和Tina有什么特别之处吗?