MySQL: Count occurrences of words in a column
- Joel Lipman
- MySQL
- Hits: 6022
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...
What? Week Ending Date has been requested a lot more frequently now. It's an odd one but the example below shows how...
What? We have a specific timetabling system for academic institutions and all our staff/students follow academic week...
What? A quick article on how to populate a database column from another table using a string comparison. Why? I have...
Ok is it just me who does everything slowly and badly until someone comes along and says why are you doing it like...
Basically, I've started using so much more SQL in our new Business Intelligence projects that I've been revising all...
Hopefully the title doesn't put you off but after much Googling and Bing-ing, I still couldn't figure out how to do...
form time order website windows list case display source client table create function file value using parameter database where joomla deluge error uploaded first added license used work date would system name following note page version server code need creator field data zoho find report files script google mysql user JoelLipman.Com