The Problem
Table: Tweets
Column Name | Type |
---|---|
tweet_id | int |
content | varchar |
The tweet_id
is the primary key for this table, which contains all the tweets in a social media app.
The task is to write an SQL query to find the IDs of the invalid tweets. A tweet is invalid if the number of characters used in the content of the tweet is strictly greater than 15.
Here's an example to better illustrate the problem:
Input
Tweets table:
tweet_id | content |
---|---|
1 | Vote for Biden |
2 | Let us make America great again! |
Output
tweet_id |
---|
2 |
Explanation
Tweet 1 has a length of 14. It's a valid tweet.
Tweet 2 has a length of 32. It's an invalid tweet.
The Solution
In this post, we'll delve into two MSSQL solutions. Both effectively solve the problem but using different functions — highlighting their unique strengths, weaknesses, and performance metrics.
Source Code 1
The first solution uses the LEN
function to calculate the length of the tweet content:
SELECT tweet_id
FROM Tweets
WHERE LEN(content) > 15
This code's runtime is 1953ms, beating 19.62% of other submissions. Here's the performance snapshot:
Source Code 2
The second solution differs from the first by using the DATALENGTH
function instead of LEN
:
SELECT tweet_id
FROM Tweets
WHERE DATALENGTH(content) > 15
This solution's runtime is 1522ms, beating 66.57% of other submissions. Here's the performance snapshot:
Conclusion
These two solutions effectively determine the invalid tweets based on the content length, with the second solution performing significantly better on LeetCode. However, performance may vary in real-world RDMS due to different factors, such as data volume, system hardware, SQL server configurations, etc.
Here's a ranking of these solutions based on LeetCode performance:
- Source Code 2
- Source Code 1
You can find the original problem at LeetCode.
For more insightful solutions and tech-related content, feel free to connect with me on my Beacons page.
Top comments (0)