JSP 如何合并table中一列中内容相同的行??

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JSP 如何合并table中一列中内容相同的行??相关的知识,希望对你有一定的参考价值。

JSP 如何合并table中一列中内容相同的行??

原始表:

|---|---|---|---|---|
| A | B | C |100|150|
|---|---|---|---|---|
| A | B | D |200|250|
|---|---|---|---|---|
| A | E | C |100|150|
|---|---|---|---|---|
| B | E | D |120|250|
|---|---|---|---|---|

经过JS处理后的表

|---|---|---|---|---|
| | B | C |100|150|
| | |---|---|---|
| A | | D |200|250|
| |---|---|---|---|
| | E | C |100|150|
|---|---|---|---|---|
| B | E | D |120|250|
|---|---|---|---|---|

怎样实现如上的效果呢?
重复数据单元格自动向下合并(数据部份不合并).
原始表中的数据我是通过从查找数据库得到
|---|---|---|---|---|
| A | B | C |100 |150 |
|---|---|---|---|---|
| A | B | D |200 |250 |
|---|---|---|---|---|
| A | E | C |100 |150 |
|---|---|---|---|---|
| B | E | D |120 |250|
|---|---|---|---|---|

处理后

|---|---|---|---|---|
| | B | C |100 |150 |
| | |---|---|---|
| A | | D |200 | 250 |
| |---|---|---|---|
| | E | C |100 |150 |
|---|---|---|---|---|
| B | E | D |120 |250 |
|---|---|---|---|---|

你可以在一个Java类中设计一个方法,在这个方法中,对从数据库中查找到的数据,进行处理。根据获取的数据,动态构造一个字符串。字符串的内容就是构造对应table的html语言。
然后在jsp中需要显示表格的地方,直接调用该方法。<%= %>
这样做的好处是可以方便的使用java的逻辑处理功能。
参考技术A 我说的方法可能和你预想的有区别。
我的方法是从数据库取数据的时候用distinct关键字去取,就不会有相同的了。
如:SELECT DISTINCT test_week,test_street FROM mytest
参考技术B 我觉得只能等页面加载完了,用for循环遍历了,找到一样的就在上面的td里面加colspan属性了,再把下面的隐藏掉,不过这方法非常的不智能。。。
智能的我就不知道了

如何在不合并 SQL Server 中的行的情况下创建一列来显示另一列中的值出现的次数

【中文标题】如何在不合并 SQL Server 中的行的情况下创建一列来显示另一列中的值出现的次数【英文标题】:How to create a column that shows the number of times a value in another column appears without combining rows in SQL Server 【发布时间】:2022-01-24 00:18:46 【问题描述】:

我有一个如下所示的数据库:

+----------------+
| Account Number | 
+----------------+
| A0001          |
| A0001          |
| A0001          |
| A0002          |
| A0003          |
| A0003          |
+----------------+

我需要在不更改行数的情况下创建一个包含帐号出现次数的列。

我知道

SELECT Account Number, COUNT(*) AS Counts
FROM database
GROUP BY Account Number

返回

+----------------+--------+
| Account Number | Counts |
+----------------+--------+
| A0001          | 3      |
| A0002          | 1      |
| A0003          | 2      |
+----------------+--------+

但我需要一些看起来像这样的东西:

+----------------+--------+
| Account Number | Counts |
+----------------+--------+
| A0001          | 3      |
| A0001          | 3      |
| A0001          | 3      |
| A0002          | 1      |
| A0003          | 2      |
| A0003          | 2      |
+----------------+--------+

我正在使用 Microsoft SQL Server。

【问题讨论】:

count(*) over (partition by "Account Number") 【参考方案1】:

您可以在此处将 count 用作window function

Select AccountNumber, 
 count(*) over (partition by AccountNumber) as counts
from Table

【讨论】:

成功了。非常感谢!

以上是关于JSP 如何合并table中一列中内容相同的行??的主要内容,如果未能解决你的问题,请参考以下文章

Excel 中一列中有多个数据,每个数据间隔的行数不一样,用啥方法可以快速填充?

如何查看excel中一列是不是包含另一列的内容

怎样合并Repeater控件同一列中内容相同的单元格

清除一张纸上一列中每一行的内容,取决于另一张纸上同一行中一列中的更改

SQL如何查询表中某一列中的数据的前几位

Excel - 合并具有共同值的行并将差异连接在一列中