网站开发日志

2008年9月17日星期三

分享家:Addthis中国

mySQL Query(查询语句)例子

准备用这一贴来记录学习工作中碰到稍微有些难的(针对初学者)mySQL Query语句。

1. 在一个表里,计算一个记录片段(field)在同一列中重复出现的次数。(09/17/2008)

比如有这样一个表格(product_part):

Index Sku imgPath
1 123 /imgs/img123-1.gif
2 234 /imgs/img234-1.gif
3 123 /imgs/img123-2.gif

我想知道相同的Sku在Sku这列出现的次数,也就想知道每个SKU对应几张图片(img)。用下面这行Query就可以实现:

SELECT sku, COUNT(sku) AS skuCount 
FROM product_part 
GROUP BY sku 
ORDER BY skuCount ASC

2. 从两个不同的表里查询 (10/7/2008)

select sql_cache distinct
a.document_type as document_type, a.document_id as document_id, a.icon as icon, if(isnull(b.title),'',b.title) as title
from related_documents a left join related_documents_title b on a.document_id=b.id
where a.document_type REGEXP '(Activity Guide|Resource Guide)' and a.sku ='W2965'

表a和表b有个相关key,但不是用所有表a里的key在表b里都可以找到对应的值。这里用left join把表b里的相关列先合并到表a,然后再这个临时表里查询。另外还用到if语句和REGEXP语句。

标签:

相关文章:

0 条评论:

发表评论

指向此帖子的链接: