w3resource

MySQL Full-Text Search with Date Sort and Solution


Full-Text Search Combined with Sorting by Date

Write a MySQL query to search for "innovation" in the "Content" column and order the results by the PublishDate in descending order.

Solution:

-- Search for 'innovation' and sort results by PublishDate descending.

-- Select all columns from the Articles table where the Content column matches the term 'innovation'.
SELECT * 
-- Specify the table from which to retrieve the data.
FROM Articles

-- Use the MATCH...AGAINST clause to perform a full-text search for the term 'innovation'.
WHERE MATCH(Content) AGAINST('innovation')

-- Order the results by the PublishDate column in descending order to show the most recent articles first.
ORDER BY PublishDate DESC;

Explanation:

  • Purpose of the Query:
    • To retrieve recent articles related to "innovation".
    • Demonstrates combining full-text search with ordering by date.
  • Key Components:
    • ORDER BY PublishDate DESC : Orders the articles from newest to oldest.
  • Real-World Application:
    • Useful for news portals and blogs where the most recent content is prioritized.

Notes:

  • Verify that the PublishDate column is indexed for efficient ordering.
  • Combining filters may affect performance on large datasets.

For more Practice: Solve these Related Problems:

  • Write a MySQL query to search for "innovation" in the "Content" column and order the results primarily by PublishDate descending, then by relevance.
  • Write a MySQL query to perform a full-text search for "startup" in the "Content" column and sort the articles by PublishDate, showing the latest first.
  • Write a MySQL query to search for "venture capital" in the "Content" column and order the results by relevance score and then by descending PublishDate.
  • Write a MySQL query to execute a full-text search for "investment" in the "Content" column and sort the results by PublishDate, excluding articles older than a year.


Have another way to solve this solution? Contribute your code (and comments) through Disqus.

Previous MySQL Exercise: Full-Text Search with a WHERE Clause Filter.
Next MySQL Exercise: Creating a Full-Text Index on a Single Column.

What is the difficulty level of this exercise?

Test your Programming skills with w3resource's quiz.



Follow us on Facebook and Twitter for latest update.