使用Javascript以给定格式提取数据
我需要找到每个人的分享,比如:使用Javascript以给定格式提取数据,javascript,mysql,database-design,Javascript,Mysql,Database Design,我需要找到每个人的分享,比如: FooBar1的份额:300+500+150+300==>1250 FooBar2的份额:300+500+150+300+400==>1650 FooBar3的份额:300+500+300==>800 FooBar4的份额:300+500+300+450+=>1550 FooBar5的份额:300+500+450+400==>1650 使用JavaScript如何在不使用任何JavaScript库的情况下提取这样的数据?我将此作为SQL问题回答,因为它被标记为My
使用JavaScript如何在不使用任何JavaScript库的情况下提取这样的数据?我将此作为SQL问题回答,因为它被标记为MySQL 这是一种糟糕的数据格式。您应该有一个单独的关联表,每个
serial
和friend
对应一行
但是,如果您有一个friends
表,那么您可以使用MySQL获得您想要的:
+-------+---------+----------+---------------+-------------+-----+
| serial| amount | NameOfMyFriends |
+-------+---------+----------+---------------+-------------+-----+
| 1 | 1500.00 | FOOBAR1, FOOBAR2, FOOBAR3, FOOBAR4, FOOBAR5, |
| 2 | 2000.00 | FOOBAR1, FOOBAR3, FOOBAR4, FOOBAR5, |
| 3 | 300.00 | FOOBAR1, FOOBAR2, |
| 4 | 600.00 | FOOBAR2, FOOBAR4, |
| 5 | 900.00 | FOOBAR4, FOOBAR5, |
| 6 | 800.00 | FOOBAR2, FOOBAR5, |
| 7 | 600.00 | FOOBAR1, FOOBAR3, |
+-------+---------+----------+---------------+-------------+-----+
你从哪里得到数据?它到底看起来怎么样?请提供数据源。它是一个数组还是其他什么?为什么不在SQL中执行它,然后将结果导出为
CSV
或JSON
?这些是我从数据库中获得的值,但只是出于好奇,如果我在HTML页面中有类似上面的表格,我如何使用JavaScript找到每个人的共享(如有疑问的那样)?我不明白你的答案,您能描述一下我如何改进给定表的方案(规范化)@NOcode。我假设您的示例数据位于SQL中的表中。您正在使用逗号分隔的值在列中存储列表。这最好作为关联表。如果您对这些都不了解,那么您需要进一步了解SQL。
select f.FriendName, sum(eachVal)
from YourTable t join
Friends f
on find_in_set(f.FriendName, t.NameOfMyFriends) > 0
group by f.FriendName;