SQL query that extracts a topic keyword from article titles











up vote
1
down vote

favorite












I have a query like this to select the only row with title contains specific programming topics.



SELECT
posted_date,
CASE
WHEN LOWER(title) LIKE "%c#%" THEN "c#"
WHEN LOWER(title) LIKE "%c++%" THEN "c++"
.
.
.
WHEN LOWER(title) LIKE "%sql%" THEN "sql"
ELSE ""
END AS single_topics
FROM
article_data
WHERE
EXTRACT(YEAR FROM posted_date) = 2018


It's working fine but I wonder that can WHEN in CASE part be shortened in case of a lot of topics to choose?



Sample data in title column (they are like article title).



The fastest way to do x in C++.
Things most people get wrong about JavaScript.
How to send android push notification using cURL.
macOS Mojave - Features, Specifications and more.
What is map, filter and reduce function in Python and how to use them?









share|improve this question




















  • 1




    Also, can you provide sample title values? I'm curious to see how they're formed, that can help answerers as well.
    – 202_accepted
    yesterday










  • Is it intent that he first match wins?
    – aventurin
    yesterday










  • @202_accepted I've added sample value in title column. It's more like an article title.
    – phwt
    yesterday










  • @aventurin Yes, the first match wins.
    – phwt
    yesterday










  • @phwt So I would recommend using a Full-Text Search of some sort, with Google BigQuery I'm not sure what that looks like, but this Stack Overflow post looks like it has info on it: Does Google BigQuery support Full-Text search
    – 202_accepted
    15 hours ago















up vote
1
down vote

favorite












I have a query like this to select the only row with title contains specific programming topics.



SELECT
posted_date,
CASE
WHEN LOWER(title) LIKE "%c#%" THEN "c#"
WHEN LOWER(title) LIKE "%c++%" THEN "c++"
.
.
.
WHEN LOWER(title) LIKE "%sql%" THEN "sql"
ELSE ""
END AS single_topics
FROM
article_data
WHERE
EXTRACT(YEAR FROM posted_date) = 2018


It's working fine but I wonder that can WHEN in CASE part be shortened in case of a lot of topics to choose?



Sample data in title column (they are like article title).



The fastest way to do x in C++.
Things most people get wrong about JavaScript.
How to send android push notification using cURL.
macOS Mojave - Features, Specifications and more.
What is map, filter and reduce function in Python and how to use them?









share|improve this question




















  • 1




    Also, can you provide sample title values? I'm curious to see how they're formed, that can help answerers as well.
    – 202_accepted
    yesterday










  • Is it intent that he first match wins?
    – aventurin
    yesterday










  • @202_accepted I've added sample value in title column. It's more like an article title.
    – phwt
    yesterday










  • @aventurin Yes, the first match wins.
    – phwt
    yesterday










  • @phwt So I would recommend using a Full-Text Search of some sort, with Google BigQuery I'm not sure what that looks like, but this Stack Overflow post looks like it has info on it: Does Google BigQuery support Full-Text search
    – 202_accepted
    15 hours ago













up vote
1
down vote

favorite









up vote
1
down vote

favorite











I have a query like this to select the only row with title contains specific programming topics.



SELECT
posted_date,
CASE
WHEN LOWER(title) LIKE "%c#%" THEN "c#"
WHEN LOWER(title) LIKE "%c++%" THEN "c++"
.
.
.
WHEN LOWER(title) LIKE "%sql%" THEN "sql"
ELSE ""
END AS single_topics
FROM
article_data
WHERE
EXTRACT(YEAR FROM posted_date) = 2018


It's working fine but I wonder that can WHEN in CASE part be shortened in case of a lot of topics to choose?



Sample data in title column (they are like article title).



The fastest way to do x in C++.
Things most people get wrong about JavaScript.
How to send android push notification using cURL.
macOS Mojave - Features, Specifications and more.
What is map, filter and reduce function in Python and how to use them?









share|improve this question















I have a query like this to select the only row with title contains specific programming topics.



SELECT
posted_date,
CASE
WHEN LOWER(title) LIKE "%c#%" THEN "c#"
WHEN LOWER(title) LIKE "%c++%" THEN "c++"
.
.
.
WHEN LOWER(title) LIKE "%sql%" THEN "sql"
ELSE ""
END AS single_topics
FROM
article_data
WHERE
EXTRACT(YEAR FROM posted_date) = 2018


It's working fine but I wonder that can WHEN in CASE part be shortened in case of a lot of topics to choose?



Sample data in title column (they are like article title).



The fastest way to do x in C++.
Things most people get wrong about JavaScript.
How to send android push notification using cURL.
macOS Mojave - Features, Specifications and more.
What is map, filter and reduce function in Python and how to use them?






sql google-bigquery






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited yesterday









200_success

127k15149412




127k15149412










asked yesterday









phwt

486




486








  • 1




    Also, can you provide sample title values? I'm curious to see how they're formed, that can help answerers as well.
    – 202_accepted
    yesterday










  • Is it intent that he first match wins?
    – aventurin
    yesterday










  • @202_accepted I've added sample value in title column. It's more like an article title.
    – phwt
    yesterday










  • @aventurin Yes, the first match wins.
    – phwt
    yesterday










  • @phwt So I would recommend using a Full-Text Search of some sort, with Google BigQuery I'm not sure what that looks like, but this Stack Overflow post looks like it has info on it: Does Google BigQuery support Full-Text search
    – 202_accepted
    15 hours ago














  • 1




    Also, can you provide sample title values? I'm curious to see how they're formed, that can help answerers as well.
    – 202_accepted
    yesterday










  • Is it intent that he first match wins?
    – aventurin
    yesterday










  • @202_accepted I've added sample value in title column. It's more like an article title.
    – phwt
    yesterday










  • @aventurin Yes, the first match wins.
    – phwt
    yesterday










  • @phwt So I would recommend using a Full-Text Search of some sort, with Google BigQuery I'm not sure what that looks like, but this Stack Overflow post looks like it has info on it: Does Google BigQuery support Full-Text search
    – 202_accepted
    15 hours ago








1




1




Also, can you provide sample title values? I'm curious to see how they're formed, that can help answerers as well.
– 202_accepted
yesterday




Also, can you provide sample title values? I'm curious to see how they're formed, that can help answerers as well.
– 202_accepted
yesterday












Is it intent that he first match wins?
– aventurin
yesterday




Is it intent that he first match wins?
– aventurin
yesterday












@202_accepted I've added sample value in title column. It's more like an article title.
– phwt
yesterday




@202_accepted I've added sample value in title column. It's more like an article title.
– phwt
yesterday












@aventurin Yes, the first match wins.
– phwt
yesterday




@aventurin Yes, the first match wins.
– phwt
yesterday












@phwt So I would recommend using a Full-Text Search of some sort, with Google BigQuery I'm not sure what that looks like, but this Stack Overflow post looks like it has info on it: Does Google BigQuery support Full-Text search
– 202_accepted
15 hours ago




@phwt So I would recommend using a Full-Text Search of some sort, with Google BigQuery I'm not sure what that looks like, but this Stack Overflow post looks like it has info on it: Does Google BigQuery support Full-Text search
– 202_accepted
15 hours ago















active

oldest

votes











Your Answer





StackExchange.ifUsing("editor", function () {
return StackExchange.using("mathjaxEditing", function () {
StackExchange.MarkdownEditor.creationCallbacks.add(function (editor, postfix) {
StackExchange.mathjaxEditing.prepareWmdForMathJax(editor, postfix, [["\$", "\$"]]);
});
});
}, "mathjax-editing");

StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");

StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "196"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);

StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});

function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
convertImagesToLinks: false,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: null,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});


}
});














draft saved

draft discarded


















StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fcodereview.stackexchange.com%2fquestions%2f209008%2fsql-query-that-extracts-a-topic-keyword-from-article-titles%23new-answer', 'question_page');
}
);

Post as a guest















Required, but never shown






























active

oldest

votes













active

oldest

votes









active

oldest

votes






active

oldest

votes
















draft saved

draft discarded




















































Thanks for contributing an answer to Code Review Stack Exchange!


  • Please be sure to answer the question. Provide details and share your research!

But avoid



  • Asking for help, clarification, or responding to other answers.

  • Making statements based on opinion; back them up with references or personal experience.


Use MathJax to format equations. MathJax reference.


To learn more, see our tips on writing great answers.





Some of your past answers have not been well-received, and you're in danger of being blocked from answering.


Please pay close attention to the following guidance:


  • Please be sure to answer the question. Provide details and share your research!

But avoid



  • Asking for help, clarification, or responding to other answers.

  • Making statements based on opinion; back them up with references or personal experience.


To learn more, see our tips on writing great answers.




draft saved


draft discarded














StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fcodereview.stackexchange.com%2fquestions%2f209008%2fsql-query-that-extracts-a-topic-keyword-from-article-titles%23new-answer', 'question_page');
}
);

Post as a guest















Required, but never shown





















































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown

































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown







Popular posts from this blog

Morgemoulin

Scott Moir

Souastre