On Thu, April 26, 2007 18:38, Baron Schwartz wrote:
> Hi,
>
> Imran Chaudhry wrote:
>> I'm wondering if any of you can assist with an interesing SQL
>> query.  I have a single table within a database, the relevant fields of
>
> Try IF or CASE expressions:
>
> SELECT foo, count(*), sum(case when foo = 'bar' then 1 else 0 end)
> FROM tbl
> GROUP BY foo
>
> Baron

Cool, it's actually working :)

I've been looking for something like that before.

SELECT * FROM tablea t order by domain,mime;

domain            mime
------------------------------
'google.com',     'image/gif'
'google.com',     'image/jpeg'
'google.com',     'image/png'
'google.com',     'text/html'
'google.com',     'text/html'
'google.com',     'text/html'
'teddybears.com', 'image/png'
'teddybears.com', 'text/html'

SELECT domain, count(*) `all`,
sum(case when mime = 'text/html' then 1 else 0 end) html,
sum(case when mime like 'image/%' then 1 else 0 end) image
FROM tablea
GROUP BY domain;

domain          all   html  image
---------------------------------
'google.com',     6,     3,     3
'teddybears.com', 2,     1,     1

-- 
Later

Mogens Melander
+45 40 85 71 38
+66 870 133 224



-- 
This message has been scanned for viruses and
dangerous content by OpenProtect(http://www.openprotect.com), and is
believed to be clean.


-- 
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe:    http://lists.mysql.com/[EMAIL PROTECTED]

Reply via email to