MySQL: Count occurrences of words in a column
- Joel Lipman
- MySQL
- Hits: 7480
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
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...
Ok is it just me who does everything slowly and badly until someone comes along and says why are you doing it like...
What? A quick article showing my MySQL statement when I want to remove all the accents from foreign characters and...
Situation: I have a silly database table (not mine) storing CMIS Facility week numbers and their starting dates. For...
What? So this is an article to serve as documentation for one of the data sources available to download for FREE from...
What? So this is a quick note to myself as I was playing with the relevance heuristics of a query. This example adds a...
Basically, I've started using so much more SQL in our new Business Intelligence projects that I've been revising all...
parameter record uploaded creator function display table note name file where need following source page website database added license list report work code error solution user using used would value system script deluge mysql order case zoho field windows find first server files time joomla date client data version create JoelLipman.Com