Dave -

I would recommend (if not done so already) adding an index on owner.
That should improve the speed quite a bit.

On Tue, 15 Jun 2004 21:06:47 +0000, Dave Torr <[EMAIL PROTECTED]> wrote:
> 
> Thanks - that is basically what I used to do (it works fine now on 4.1.2)
> but it was very slow as there are a LOT of rows and this method returned all
> of them.
> 
> >From: Garth Webb <[EMAIL PROTECTED]>
> >To: Dave Torr <[EMAIL PROTECTED]>
> >CC: [EMAIL PROTECTED]
> >Subject: Re: How to COUNT rows when they have a COUNT in them
> >Date: Tue, 15 Jun 2004 09:54:19 -0700
> >
> >You could also try:
> >
> >     SELECT owner, COUNT(*) FROM pet GROUP BY owner;
> >     SELECT FOUND_ROWS();
> >
> >On Mon, 2004-06-14 at 20:41, Dave Torr wrote:
> > > Thanks - this did not work for me as I am on 4.0.17 - presumably this
> >works
> > > on 4.1 (seems to need the SubQuery feature)? If so I will upgrade
> > > immediately!
> > >
> > >
> > > >From: Yayati Kasralikar <[EMAIL PROTECTED]>
> > > >To: Dave Torr <[EMAIL PROTECTED]>
> > > >CC: [EMAIL PROTECTED]
> > > >Subject: Re: How to COUNT rows when they have a COUNT in them
> > > >Date: Mon, 14 Jun 2004 23:37:15 -0400
> > > >
> > > >Following query does what you want:
> > > >
> > > >SELECT COUNT(*) from (SELECT COUNT(*) as c FROM pet GROUP BY owner
> >HAVING
> > > >c>1)  as temp
> > > >
> > > >-Yayati
> > > >
> > > >Dave Torr wrote:
> > > >
> > > >>Probably simple but I can't figure it out!
> > > >>
> > > >>THe manual section 3.3.4.8 has the example
> > > >>
> > > >>SELECT owner, COUNT(*) FROM pet GROUP BY owner
> > > >>
> > > >>which is fine. Now what I want to do is count the number of rows this
> > > >>returns. Actually of course this is trivial - I can just count how
> >many
> > > >>owners there are.
> > > >>
> > > >>What I actually have is something similar to
> > > >>
> > > >>SELECT owner, COUNT(*) as c FROM pet GROUP BY owner HAVING c>1
> > > >>
> > > >>(ie I want to see the owners who have more than one pet). And I just
> >want
> > > >>to know how many there are - at the moment I am having to retreive the
> > > >>full data set (which is large in my case).
> > > >>
> > > >>What I want is something like
> > > >>
> > > >>SELECT COUNT(SELECT owner, COUNT(*) FROM pet GROUP BY owner HAVING
> >c>1)
> > > >>
> > > >>but that doesn't work....
> > > >>
> > > >>
> > > >>
> > > >
> > > >
> > >
> > >
> >
> >--
> >MySQL General Mailing List
> >For list archives: http://lists.mysql.com/mysql
> >To unsubscribe:    http://lists.mysql.com/[EMAIL PROTECTED]
> 
> 
> >
> 
> --
> MySQL General Mailing List
> For list archives: http://lists.mysql.com/mysql
> To unsubscribe:    http://lists.mysql.com/[EMAIL PROTECTED]
> 
>

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

Reply via email to