SQL 50–1683. Invalid Tweets

Ben Pereira - Sep 22 '23 - - Dev Community

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.
Enter fullscreen mode Exit fullscreen mode

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;
Enter fullscreen mode Exit fullscreen mode

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;
Enter fullscreen mode Exit fullscreen mode

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! :)

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .