MySQL: Count occurrences of words in a column
- Joel Lipman
- MySQL
- Hits: 6214
This is an article to document how to output the most frequently used words in a MySQL database column.
How?
Note this only applies to MySQL.
Sometimes it is critical to ensure a group of queries are all executed successfully to maintain the integrity of our data. Let's say we have a banking app where we need to subtract funds from one account and add funds to another:
$mysqli->query ("UPDATE 'accounts' SET 'balance' = 'balance'-1000000 WHERE 'user' = 'Bob'"); $mysqli->query ("UPDATE 'accounts' SET 'balance' = 'balance'+1000000 WHERE 'user' = 'Fred'");
What if one of the queries fails? To mitigate the chances of misplacing our millions due to some possible error we must ensure that both queries are executed with the expected result before committing any changes to the data. This where transactions are useful. We can run the queries, then check if some conditions are met before committing the changes in the data:
UPDATE `mytable` SET `myColumn` = TRIM(CHAR(9) FROM TRIM(`myColumn`));Source: Stack Overflow - How to Remove Tabs
UPDATE `table_to_update` a INNER JOIN `table_to_read` b ON a.`CountryName` COLLATE utf8_general_ci LIKE b.`CountryName` COLLATE utf8_general_ci SET a.`ccTLD` = b.`ccTLD`
ThisDate ThisDay StartTime TimeOut TimeIn EndTime TotalTimeToday TotalTimeWeek ----------- ----------- ---------- -------- ------- -------- -------------- ------------- 2013-12-02 Monday 09:00 12:00 13:00 17:00 7:00 7:00 2013-12-03 Tuesday 08:45 12:00 13:30 17:45 7:30 14:30 2013-12-04 Wednesday 09:00 12:30 13:30 17:00 7:00 21:30 2013-12-05 Thursday 10:00 12:15 12:45 17:15 7:45 29:15 2013-12-06 Friday 07:00 12:00 13:00 16:30 8:30 37:45 2013-12-07 Saturday - - - - 0:00 37:45 2013-12-08 Sunday 03:00 04:00 - - 4:00 41:45
-- return all records that contain non-alphanumeric characters SELECT * FROM myTable WHERE myColumn NOT REGEXP '^[A-Za-z0-9]+$'; -- return all records that are non-alphanumeric but ignore underscores SELECT * FROM myTable WHERE myColumn NOT REGEXP '^[A-Za-z0-9\\_]+$';
-- where @ThisSearch is a posted (and sanitized) variable SET @ThisSearch:="Brains"; SELECT columnID, columnFullName, CASE WHEN columnFirstName LIKE @ThisSearch THEN 20 WHEN columnFullName LIKE @ThisSearch THEN 10 WHEN columnLastName LIKE @ThisSearch THEN 10 WHEN columnFullName LIKE @ThisSearch THEN 1 END as relevance FROM myTable WHERE s.columnPublished
Situation: I have a silly database table (not mine) storing CMIS Facility week numbers and their starting dates. For...
The scenario is that I wanted a PHP/MySQL extension created which needs to launch a query to find all columns across...
What? This article isn't unique as there are other tutorials out there. This is meant to detail a process to export a...
Just putting a note as I have spent ages looking for a solution and getting it to work in my environment. What? Need to be able to omit...
Why? I recently made a joomla module that displays the lastest members to signup. It goes a little further and counts...
In standard SQL we can combine the contents of two tables with a CROSS JOIN, (BTW these are not instructions to create some...
What? So this is an article to serve as documentation for one of the data sources available to download for FREE from...
added source display database would form field using report list name error following create order find case script server zoho file system value uploaded page client license mysql note code work function joomla need data creator version user date deluge files parameter first time google where website used windows table JoelLipman.Com