SELECT *,(SELECT COUNT(*) FROM item WHERE category = category.id) as item_count FROM category
还有别的更优化的方法吗?
还有别的更优化的方法吗?
|
fangzhzhJul 9, 2013
1
可不可以不要select *, 表结构一变,你这代码就随时可能爆炸啊
|
|
fangzhzhJul 9, 2013
3
除了select*不能接受, 你这写法我能接受
|
|
sutarJul 9, 2013
4
JOIN
|
|
6mN361AJx04in471Jul 9, 2013
6
@iloveyou 好多框架带的orm,new model不都是*吗?这是错的,可以自定义筛选字段。
|
|
lichaoJul 9, 2013
7
select category.field1, item.field2 from category, item where item.categoryID = category.categoryID
|
|
10
select category.categoryName, count(item.itemID) as YOUR_COUNT from category, item where item.categoryID = category.categoryID group by category.categoryID
|
|
11
select category.categoryID, count(item.itemID) as YOUR_COUNT from category, item where item.categoryID = category.categoryID group by category.categoryID
|
|
12
select category, count(*) from item group by category,将此临时表与category表做联合查询。
|
|
msg7086Jul 9, 2013
13
|
|
masterJul 9, 2013
14
话说为什么不用JOIN ?
比如像这样: SELECT category.*, COUNT(item.id) as item_count FROM category LEFT JOIN item ON item.category = category.id |
|
15
抱歉,漏了 GROUP
SELECT category.*, COUNT(item.id) as item_count FROM category LEFT JOIN item ON item.category = category.id GROUP BY category.id |