Hi Everybody
Thank you, Tom!
I really trying to group the names
But I think I found another way - I made PHP-script which groups
results from database after selection
And I suspect it will be a little complicated for MySQL to group all this
data, 'cause variants in reg.exp. pattern is too large
something like
(yes|no|may be|can not|uknown|.)
or MySQL are able to group it fast enough? faster than PHP?
Thanx
TC On Saturday, April 02, 2005 01:51, ON.KG wrote:
Hi Everybody
I need to group records by regular expression
Example:
Table has column - names (just example)
records are:
idnames time
1 John, Max 12:15
2 Max, Jeff 15:55
3 Ken 20:45
I need to get grouped records by name Max in column names
SELECT COUNT(*)
FROM my_table
GROUP BY reg_expression
TC Are you just looking for a count of names that contain max?
TC SELECT COUNT(*) FROM my_table WHERE names REGEXP 'max';
TC or
TC SELECT COUNT(*) FROM my_table WHERE names LIKE '%max%';
TC If you are really trying to group the names you can do this with
TC a regex but this will only give you at most three rows (two if
TC the column doesn't allow nulls). This is because the regex can
TC only evaluate to true, false, or null. If you want just the ones
TC that contain Max grouped together and everything else separate
TC you could rig it with an if.
TC SELECT names, COUNT(*) FROM my_table
TC GROUP BY if(names REGEXP 'max', -1, names)
TC The -1 would need to be replaced by a value that will not exist
TC in the table. This is why I said it is rigged.
TC Maybe if you could explain why you are trying to do this, someone
TC could help you come up with a better solution.
Could somebody help me?
Thanx
--
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe:http://lists.mysql.com/[EMAIL PROTECTED]