Skip to content

Bits of .NET

Daily micro-tips for C#, SQL, performance, and scalable backend engineering.

  • Asp.Net Core
  • C#
  • SQL
  • JavaScript
  • CSS
  • About
  • ErcanOPAK.com
SQL

How to create a single string from multiple rows in T-SQL and MySQL

- 05.12.22 - ErcanOPAK

To create a single string from multiple rows in MySQL, you can use the GROUP_CONCAT function. This function allows you to concatenate values from multiple rows into a single string, separated by a specified delimiter. Here is an example of how you can use this function:

SELECT GROUP_CONCAT(column_name ORDER BY column_name ASC SEPARATOR ',')
FROM table_name
GROUP BY group_by_column;

In this example, the GROUP_CONCAT function will concatenate the values in the column_name column, ordered alphabetically, and separated by a comma. The results will be grouped by the group_by_column column.

To create a single string from multiple rows in T-SQL, you can use the FOR XML PATH clause in conjunction with the STUFF function. Here is an example of how you can use this approach:

SELECT STUFF(
    (SELECT ',' + column_name
     FROM table_name
     FOR XML PATH(''))
    , 1, 1, ''
)
FROM table_name
GROUP BY group_by_column;

In this example, the STUFF function is used to remove the leading comma from the concatenated string. The FOR XML PATH clause is used to concatenate the values in the column_name column, separated by a comma. The results will be grouped by the group_by_column column.

We can also use the STRING_AGG() function to create a single string from multiple rows in T-SQL. This function allows you to concatenate values from multiple rows into a single string, separated by a specified delimiter. Here is an example of how you can use this function:

SELECT STRING_AGG(column_name, ',')
FROM table_name
GROUP BY group_by_column;

In this example, the STRING_AGG function will concatenate the values in the column_name column, separated by a comma. The results will be grouped by the group_by_column column.

Note that the STRING_AGG() function is only available in T-SQL starting with SQL Server 2017. If you are using an older version of SQL Server, you will need to use the FOR XML PATH and STUFF approach described above.

Related posts:

How to get the first and the last day of previous month in SQL Server

How to solve "TableAdapter can't see stored procedure returned fields when using temp table" problem

The Secret Weapon: APPLY — Why CROSS APPLY Beats Subqueries

Post Views: 16

Post navigation

How to align inconsistently sized logos with CSS
Anime Suggestion: Aoashi

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

December 2025
M T W T F S S
1234567
891011121314
15161718192021
22232425262728
293031  
« Nov    

Most Viewed Posts

  • Get the User Name and Domain Name from an Email Address in SQL (915)
  • Get the First and Last Word from a String or Sentence in SQL (798)
  • How to select distinct rows in a datatable in C# (773)
  • How to add default value for Entity Framework migrations for DateTime and Bool (773)
  • How to make theater mode the default for Youtube (602)
  • Add Constraint to SQL Table to ensure email contains @ (558)
  • How to enable, disable and check if Service Broker is enabled on a database in SQL Server (535)
  • Average of all values in a column that are not zero in SQL (505)
  • Find numbers with more than two decimal places in SQL (421)
  • How to use Map Mode for Vertical Scroll Mode in Visual Studio (416)

Recent Posts

  • Visual Studio “F5 Takes Forever” — IIS Express Cache
  • WordPress Slow First Load — Autoloaded Options Table
  • Windows 11 Laptop Overheats — Turbo Boost Gone Wrong
  • Windows 11 Slow Context Menu — The Explorer Extension Trap
  • AJAX “Works Once, Then Fails” — Cached POST Response
  • JS Memory Leaks — Forgotten Event Listeners
  • HTML5 button Defaults to submit (Surprise!)
  • CSS opacity Breaks Child Elements — Use RGBA Instead
  • ASP.NET Core Health Checks That Actually Matter
  • ASP.NET Core “Slow Startup” — Reflection Scanning Trap

Most Viewed Posts

  • Get the User Name and Domain Name from an Email Address in SQL (915)
  • Get the First and Last Word from a String or Sentence in SQL (798)
  • How to select distinct rows in a datatable in C# (773)
  • How to add default value for Entity Framework migrations for DateTime and Bool (773)
  • How to make theater mode the default for Youtube (602)

Recent Posts

  • Visual Studio “F5 Takes Forever” — IIS Express Cache
  • WordPress Slow First Load — Autoloaded Options Table
  • Windows 11 Laptop Overheats — Turbo Boost Gone Wrong
  • Windows 11 Slow Context Menu — The Explorer Extension Trap
  • AJAX “Works Once, Then Fails” — Cached POST Response

Social

  • ErcanOPAK.com
  • GoodReads
  • LetterBoxD
  • Linkedin
  • The Blog
  • Twitter
© 2025 Bits of .NET | Built with Xblog Plus free WordPress theme by wpthemespace.com