It’s an easy problem from SQL 50 with the description being:
Table: Tweets
+----------------+---------+
| Column Name | Type |
+----------------+---------+
| tweet_id | int |
| content | varchar |
+----------------+---------+
tweet_id is the primary key (column with unique values) for this table.
This table contains all the tweets in a social media app.
Write a solution to find the IDs of the invalid tweets. The tweet is invalid if the number of characters used in the content of the tweet is strictly greater than 15.
Return the result table in any order.
The result format is in the following example.
Example 1:
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 length = 14. It is a valid tweet.
Tweet 2 has length = 32. It is an invalid tweet.
The solution is simple and straight forward, you will get the tweet_id column where content is greater than 15 with any order.
This can be done using LENGTH or CHAR_LENGTH, both would work and the performance is very similar. Those two functions basically return the size of the content and with that you can check the length and return the invalid ones.
SELECT tweet_id FROM Tweets WHERE LENGTH(content) > 15;
Runtime: 1114 ms, faster than 89.65% of MySQL online submissions for Invalid Tweets.
Memory Usage: 0B, less than 100.00% of MySQL online submissions for Invalid Tweets.
SELECT tweet_id FROM Tweets WHERE CHAR_LENGTH(content) > 15;
Runtime: 1160 ms, faster than 84.01% of MySQL online submissions for Invalid Tweets.
Memory Usage: 0B, less than 100.00% of MySQL online submissions for Invalid Tweets.
That’s it!
If there is anything thing else to discuss feel free to drop a comment, if I missed anything let me know so I can update accordingly.
Until next post! :)